﻿/**************************************************************
 * Project     : Titan Framework
 * Copyright (C) 2011 Microsoft Corp.
 * Author      : Julian Hu
 * Mail        : junhu@microsoft.com
 * Create Date : 2011-05-10
 * Summary     :   
 * 
 * 
 * Modified By : 
 * Date        : 
 * Mail        : 
 * Comment     :   
 * *************************************************************/

using System;
using System.Collections.Generic;
using System.Text;

namespace Titan.Logging
{
    /// <summary>
    /// 日志接口
    /// </summary>
    public interface ILogger
    {
        Type Type { get; }
        bool IsDebugEnabled { get; }
        bool IsInfoEnabled { get; }
        bool IsWarnEnabled { get; }
        bool IsErrorEnabled { get; }
        bool IsFatalEnabled { get; }

        void Debug(string strMsg);
        void Debug(Exception exception, string strMsg);

        void Info(string strMsg);
        void Info(Exception exception, string strMsg);

        void Warn(string strMsg);
        void Warn(Exception exception, string strMsg);

        void Error(string strMsg);
        void Error(Exception exception, string strMsg);

        void Fatal(string strMsg);
        void Fatal(Exception exception, string strMsg);
    }
}
